Update Your Site Instantly Using SSI
by Les Goss


There are probably two main ways you currently update your
site. The first, and most important, is adding new content.
Whether you are updating a calendar, adding a new page, or
putting in a photo of a new product, you are enhancing the
value of your site for your visitors.

The second, and more mind-numbing changes are those that are
made to every page of your site. These might include
copyright dates, contact information, the date and time, or
navigation links. If you have a large site, changing just
your company phone number on every page can be a
time-intensive, boring job.

Modern web development tools such as Macromedia's
Dreamweaver offer a template feature that allows your web
designer to change one section of a single page (say the
contact info) and have the software automatically change all
the pages that were made from that template. Those changed
pages are still on the designer's computer, however, and
must be uploaded to your server one page at a time.
Depending on the number and size of the pages, and the speed
of your designer's modem, updating a site this way can take
awhile.

A simpler and faster method uses something called Server
Side Includes (SSI). We'll use the example of updating your
contact information, which is currently found on every
page of your site.

Here's How It's Done

Your designer originally creates a new page that only
contains your contact information. This page is saved as a
regular HTML page.

Next, the designer decides where on each page of your site
to place the contact info. In that spot, instead of typing
in your address, phone number and email, he or she places a
single line of code that might look something like <
!--#include virtual="../includes/contactSSI.html"-->.

This code tells the server to take whatever is on the SSI
page and place it in this location.

Each page is then saved with the .shtml suffix instead of
the plain .html ending. For instance, the URL of your home
page might be www.yourcompany.com/index.shtml. This tells
the server that hosts your web site that this page has a
Server Side Include in it which must be dealt with before
the page is sent back to the visitor. Every time this page
is called, the server will check the SSI page and load its
content into the designated area of the web page.

We used to be warned about the extra load this placed on the
server, slowing delivery of the pages. However, today's
processing speeds seem to have eliminated this problem. If
you're not getting hundreds of visitors per minute, don't
worry about it.

How This Saves Time

Once the system is in place, updating every page of a large
site is a two-step operation. The SSI page is changed
(perhaps the phone number) and that one page is uploaded to
the server. That's it! Now every page with a dot shtml
ending will show the change instantly, without the entire
site having to be uploaded to the server.

I use this on my site every time I add a new article. At the
top of each page is a pointer to my SSI page. On that page
it just says, "This week's article is..." with the article
name and a link to it. Every time I add a new article to the
site I just change the title and link on the SSI page and
upload it to the server. Instantly, every page on the site
has the new article name and link.

There are also SSI routines that your server runs
automatically. In fact, there are several things the server
will do for you automatically using SSI as long as you use
the correct code to tell it what to do.

Probably the most common use of SSI is to automatically post
the current date and time. Just insert the code < !--#echo
var="DATE_LOCAL" --> where you want the date and time to
appear and the server will take care of the rest. By
tweaking this code a bit you can change the way the date and
time are presented.

Using a similar bit of code will let you automatically show
the last time a page was updated. For a good overview on
using SSI, visit Big Bird Nose's SSI Page
(http://www.bignosebird.com/ssi.shtml).

The Devil is in the Details

SSI does not require any special software or hardware on the
designer's computer. Once the hosting server is configured
to recognize SSIs (and most are), it's just matter of
putting in that one extra line of code on each page.

There are several different ways that SSIs are implemented,
depending on the configuration of your site's hosting
server. The code I've quoted in this article works as
described on my host's Linux/Apache server. Some servers may
require you to use the .ssi suffix on the SSI page itself,
or have other quirks. Contact your web host to get their
requirements.

Conclusion

If you have a relatively small site, you probably don't need
to use SSIs, but as your site grows, these little snippets
of code can save your designer a considerable amount of
time, which should save you a corresponding amount of money.


================================================================
Les Goss is president of ZebraMoon Design, Inc., which 
specializes in building in Search Engine Optimization into all 
new and redesigned web sites. Sign up for more articles like 
this at: http://www.zmoon.com/webdesigntips.html

Come to ZebraMoon Web Design (http://www.zmoon.com) to learn
how we can help your web site perform better.
================================================================